import { getEnv } from '@/constants/EnumEnv';
const to = (route: string) => getEnv().rootPath.replace(/\/$/, "") + "/" + route;

/**
 * 路由枚举
 */
const EnumRouter = {
    to:to,
    get rootRoute(){ return to('')},		        // 根路由
    get login(){ return to("login") },
    get register(){ return to("register") },

    get appRoot(){ return to("app") },

    //-------------------------业务相关的路由------------------------------

    //-------------------------系统设置相关的路由------------------------------
    get sysRoot(){ return to("app/system") },
    get sysAgent(){ return to("app/system/agent") },    // 代理商管理
    get sysAccount(){ return to("app/system/account") },    // 账户管理
    get sysAdminRole(){ return to("app/system/adminRole") },    // 系统角色
    get sysDataDict(){ return to("app/system/dataDict") },    // 数据字典
    get sysUser(){ return to("app/system/user") },
    get sysRole(){ return to("app/system/role") },
    get sysDept(){ return to("app/system/dept") },
    get sysNotice(){ return to("app/system/notice") },
    get sysPost(){return to("app/system/post")},
    get sysMenu(){ return to("app/system/menu") },
    get sysLogRoot(){ return to("app/system/log") },
    get sysOperLog(){ return to("app/system/log/oper") },
    get sysLoginLog(){ return to("app/system/log/login") },
    get sysOnlineUser(){ return to("app/system/log/onlineUser") },
};

export default EnumRouter;


/**
 * 无需校验是否登录的路由列表
 */
export const noValidateLoginRoutes = [
    EnumRouter.login,
    EnumRouter.register,
];

/**
 * 无需校验菜单权限的路由列表
 */
export const noValidateMenuPermissions = [
    EnumRouter.rootRoute,
    EnumRouter.appRoot,
    ...noValidateLoginRoutes,
];
